package com.greenhouse.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.greenhouse.common.annotation.Excel;
import com.greenhouse.common.core.domain.BaseEntity;

/**
 * 产品管理对象 biz_product
 * 
 * @author greenhouse
 * @date 2021-04-12
 */
public class BizProduct extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 产品ID */
	private Long productId;

	/** 产品代码（唯一） */
	@Excel(name = "产品代码", readConverterExp = "唯=一")
	private String productCode;

	/** 产品名称 */
	@Excel(name = "产品名称")
	private String productName;

	/** 产品图片 */
	private String productImgUrl;

	/** 产品使用类别ID */
	private Long productClassId;

	/** 产品类型(device gateway) */
	private String productScope;

	/** 产品元数据 */
	private String productMetadata;

	/** 产品描述 */
	@Excel(name = "产品描述")
	private String productDescription;

	/** 是否发布 */
	@Excel(name = "是否发布")
	private Long released;

	/** 逻辑删除 */
	private String delFlag;

	/** 乐观锁 */
	@Excel(name = "乐观锁")
	private Long revision;

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public Long getProductId() {
		return productId;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductImgUrl(String productImgUrl) {
		this.productImgUrl = productImgUrl;
	}

	public String getProductImgUrl() {
		return productImgUrl;
	}

	public void setProductClassId(Long productClassId) {
		this.productClassId = productClassId;
	}

	public Long getProductClassId() {
		return productClassId;
	}

	public void setProductScope(String productScope) {
		this.productScope = productScope;
	}

	public String getProductScope() {
		return productScope;
	}

	public void setProductMetadata(String productMetadata) {
		this.productMetadata = productMetadata;
	}

	public String getProductMetadata() {
		return productMetadata;
	}

	public void setProductDescription(String productDescription) {
		this.productDescription = productDescription;
	}

	public String getProductDescription() {
		return productDescription;
	}

	public void setReleased(Long released) {
		this.released = released;
	}

	public Long getReleased() {
		return released;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setRevision(Long revision) {
		this.revision = revision;
	}

	public Long getRevision() {
		return revision;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("productId", getProductId())
				.append("productCode", getProductCode()).append("productName", getProductName())
				.append("productImgUrl", getProductImgUrl()).append("productClassId", getProductClassId())
				.append("productScope", getProductScope()).append("productMetadata", getProductMetadata())
				.append("productDescription", getProductDescription()).append("released", getReleased())
				.append("delFlag", getDelFlag()).append("revision", getRevision()).append("createBy", getCreateBy())
				.append("createTime", getCreateTime()).append("updateBy", getUpdateBy())
				.append("updateTime", getUpdateTime()).toString();
	}
}
